Eine Schritt-für-Schritt Anleitung
Windows 11 | Visual Studio Code | Django
Wir starten bei 0 und erstellen zusammen ein vollständiges Django-Projekt!
Python auf Windows 11 installieren
Editor einrichten und konfigurieren
Virtuelle Umgebung und Django
FirstMovieAPI entwickeln
Öffne deinen Browser und gehe zu:
https://www.python.org/downloads/
Klicke auf den großen gelben Button:
"Download Python 3.12.x"
Die Website erkennt automatisch dein Windows-System
Lade immer die neueste stabile Version herunter. Zum Zeitpunkt dieses Kurses ist das Python 3.12.x
Doppelklicke auf die heruntergeladene python-3.12.x-amd64.exe
Setze den Haken bei:
☑️ Add Python 3.12 to PATH
Dies ist ESSENTIELL! Ohne diesen Haken funktioniert Python nicht im Terminal!
Klicke auf "Install Now"
Bestätige die Admin-Berechtigung
Die Installation dauert ca. 2-3 Minuten
Klicke am Ende auf "Close"
Option 1: Windows-Taste drücken, "cmd" tippen, Enter
Option 2: Windows-Taste + R, dann "cmd" eingeben
python --version
py --version
✅ Erwartete Ausgabe: Python 3.12.x
pip --version
py -m pip --version
✅ Erwartete Ausgabe: pip 24.x.x from C:\Users\...
→ Python wurde nicht zum PATH hinzugefügt
→ Lösung: Deinstalliere Python und installiere es erneut MIT Haken bei "Add to PATH"!
Herausgeber: Microsoft
Extensions → "Python" suchen → Install
Herausgeber: Baptiste Darthenay
Extensions → "Django" suchen → Install
Herausgeber: Kevin Rose
Extensions → "Python Indent" → Install
Herausgeber: Microsoft
Extensions → "Pylance" → Install
💡 Schnellzugriff: Drücke Strg + Shift + X um die Extensions-Ansicht zu öffnen
Schritt für Schritt:
C:\C:\Django\FirstMovieAPI\
Mit Befehlen:
mkdir C:\Django\FirstMovieAPI
cd C:\Django\FirstMovieAPI
Schneller für erfahrene Nutzer
Methode 1: VS Code öffnen → File → Open Folder → FirstMovieAPI auswählen
Methode 2: Im Terminal: code C:\Django\FirstMovieAPI
Methode 3: Rechtsklick auf Ordner → "Mit Code öffnen"
Tastenkombination: Strg + Ö (oder Strg + `)
Über Menü: Terminal → New Terminal
Über Command Palette: Strg + Shift + P → "Terminal: Create New Terminal"
Du solltest nun sehen:
PS C:\Django\FirstMovieAPI>
Das Terminal ist bereit und im richtigen Projektordner!
Eine isolierte Python-Installation für dein Projekt!
Jedes Projekt hat seine eigenen Pakete
Keine Konflikte zwischen Projekten
Einfaches Dependency Management
Reproduzierbare Umgebungen
python -m venv venv
Erklärung:
python -m venv - Modul zum Erstellen virtueller Umgebungenvenv - Name des Ordners (Konvention: "venv")⏱️ Dies dauert ca. 10-20 Sekunden
venv\Scripts\Activate.ps1
Falls Fehler "Ausführung von Skripts ist auf diesem System deaktiviert":
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
venv\Scripts\activate.bat
Einfacher, keine Berechtigungsprobleme
Du erkennst es am (venv) vor dem Pfad:
(venv) PS C:\Django\FirstMovieAPI>
deactivateDjango Installation mit pip:
pip install django
⏱️ Die Installation dauert ca. 1-2 Minuten
django-admin --version
✅ Erwartete Ausgabe: 5.1.x (oder neuer)
pip list
Du solltest sehen:
Django 5.1.x
pip 24.x
setuptools ...
sqlparse ...
Für API-Entwicklung (später wichtig):
pip install djangorestframework
django-admin startproject firstmovieapi .
Der Punkt bedeutet: "Erstelle das Projekt im AKTUELLEN Ordner"
Ohne Punkt würde ein zusätzlicher Unterordner erstellt werden
FirstMovieAPI/
│
├── venv/ # Virtuelle Umgebung (bereits vorhanden)
│
├── firstmovieapi/ # Hauptkonfiguration
│ ├── __init__.py # Python Package Marker
│ ├── settings.py # Projekt-Einstellungen ⚙️
│ ├── urls.py # URL-Routing 🔗
│ ├── asgi.py # ASGI Server (für Websockets)
│ └── wsgi.py # WSGI Server (für Deployment)
│
└── manage.py # Django Management-Tool 🔧
firstmovieapi/settings.pyDie wichtigsten Einstellungen im Überblick:
Entwicklungsmodus - zeigt detaillierte Fehlermeldungen
DEBUG = True # In Production: False!
Welche Domains dürfen auf die App zugreifen
ALLOWED_HOSTS = [] # Leer = nur localhost
Registrierte Django-Apps und Erweiterungen
INSTALLED_APPS = [
'django.contrib.admin', # Admin-Interface
'django.contrib.auth', # Authentifizierung
'django.contrib.contenttypes',
'django.contrib.sessions', # Session-Management
'django.contrib.messages', # Flash Messages
'django.contrib.staticfiles', # Static Files (CSS, JS)
]
Datenbank-Konfiguration (Standard: SQLite)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
Eine App ist eine Komponente deines Projekts mit spezifischer Funktionalität
python manage.py startapp movies
FirstMovieAPI/
├── venv/
├── firstmovieapi/
├── movies/ # 🆕 Unsere neue App!
│ ├── migrations/ # Datenbank-Migrationen
│ │ └── __init__.py
│ ├── __init__.py
│ ├── admin.py # Admin-Konfiguration
│ ├── apps.py # App-Konfiguration
│ ├── models.py # Datenmodelle 🗃️
│ ├── tests.py # Tests
│ └── views.py # Views/Logik 🎯
└── manage.py
Django muss wissen, dass unsere App existiert!
firstmovieapi/settings.pyFüge 'movies' zu INSTALLED_APPS hinzu:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'movies', # 🆕 Unsere App hinzufügen!
]
💡 Tipp: Eigene Apps werden üblicherweise am Ende der Liste eingetragen
Für mehr Klarheit kann auch der vollständige Pfad verwendet werden:
'movies.apps.MoviesConfig', # aus movies/apps.py
Migrations sind Django's Art, Datenbankänderungen zu verwalten
python manage.py migrate
✅ Django erstellt automatisch:
db.sqlite3 (SQLite-Datenbank)Du solltest sehen:
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
...
Applying sessions.0001_initial... OK
python manage.py createsuperuser
Django fragt dich nach folgenden Informationen:
Username: admin
Beliebiger Name, merken für Login!
Email address: admin@example.com
Optional, kann leer gelassen werden
Password: ••••••••
Password (again): ••••••••
⚠️ WICHTIG: Merke dir das Passwort!
Mindestens 8 Zeichen empfohlen
✅ Erfolgreich erstellt:
Superuser created successfully.
python manage.py runserver
Erwartete Ausgabe:
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
November 09, 2025 - 14:30:00
Django version 5.1.x, using settings 'firstmovieapi.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
Öffne deinen Browser:
http://127.0.0.1:8000/
Oder:
http://localhost:8000/
✅ Du solltest die Django-Willkommensseite sehen!
Anderen Port verwenden:
python manage.py runserver 8080
Server stoppen:
Strg + C
Stelle sicher, dass runserver aktiv ist
http://127.0.0.1:8000/admin/
Wichtig: Das /admin/ am Ende!
Verwende deine Superuser-Daten:
Du siehst jetzt das Django Admin Interface:
C:\Django\FirstMovieAPI\
│
├── venv/ # 🔒 Virtuelle Umgebung
│ ├── Scripts/
│ │ ├── activate.bat # Aktivierung (CMD)
│ │ ├── Activate.ps1 # Aktivierung (PowerShell)
│ │ └── python.exe # Python in venv
│ └── Lib/ # Installierte Packages
│
├── firstmovieapi/ # 🎯 Projekt-Konfiguration
│ ├── __init__.py
│ ├── settings.py # ⚙️ Einstellungen
│ ├── urls.py # 🔗 URL-Routing
│ ├── asgi.py # Async Server
│ └── wsgi.py # Web Server
│
├── movies/ # 📱 Unsere App
│ ├── migrations/ # 🗄️ Datenbank-Änderungen
│ │ └── __init__.py
│ ├── __init__.py
│ ├── admin.py # 👨💼 Admin-Interface
│ ├── apps.py # App-Konfiguration
│ ├── models.py # 📊 Datenmodelle
│ ├── tests.py # ✅ Tests
│ └── views.py # 🎨 Views/Logik
│
├── db.sqlite3 # 🗃️ SQLite-Datenbank
└── manage.py # 🔧 Django Management
# Aktivieren (PowerShell):
venv\Scripts\Activate.ps1
# Aktivieren (CMD):
venv\Scripts\activate.bat
# Deaktivieren:
deactivate
# Server starten:
python manage.py runserver
# Server mit anderem Port:
python manage.py runserver 8080
# Neues Projekt:
django-admin startproject name .
# Neue App:
python manage.py startapp appname
# Migrations erstellen:
python manage.py makemigrations
# Migrations anwenden:
python manage.py migrate
# Migration für bestimmte App:
python manage.py migrate appname
# Migrations anzeigen:
python manage.py showmigrations
# Superuser erstellen:
python manage.py createsuperuser
# Passwort ändern:
python manage.py changepassword username
# Django Shell öffnen:
python manage.py shell
Problem:
Python ist nicht im System-PATH
Lösung:
Problem:
Virtuelle Umgebung nicht aktiviert oder Django nicht installiert
Lösung:
venv\Scripts\activatepip install djangoProblem:
Port 8000 wird bereits verwendet
Lösung:
# Anderen Port nutzen:
python manage.py runserver 8001
# Oder laufenden Server beenden:
Strg + C
Problem:
Datenbank-Fehler oder inkonsistente Migrations
Lösung (Entwicklung):
# Datenbank löschen:
del db.sqlite3
# Migrations neu durchführen:
python manage.py migrate
⚠️ Nur in Entwicklung! Löscht alle Daten!
Problem:
VS Code verwendet falschen Python Interpreter
Lösung:
venv\Scripts\Problem:
"Skripts können nicht ausgeführt werden"
Lösung:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Oder nutze CMD statt PowerShell
Requirements-Datei erstellen:
pip freeze > requirements.txt
Später wiederherstellen:
pip install -r requirements.txt
Folgendes NICHT committen:
venv/
__pycache__/
*.pyc
db.sqlite3
.env
.vscode/
Python 3.12+ erfolgreich auf Windows 11 eingerichtet
Alle wichtigen Extensions für Django-Entwicklung installiert
Isolierte Python-Umgebung für unser Projekt erstellt
Django Framework erfolgreich installiert und getestet
Vollständiges Django-Projekt mit App "movies" erstellt
SQLite-Datenbank eingerichtet und initialisiert
Superuser erstellt und Admin-Panel getestet
Development Server erfolgreich gestartet und getestet
Movie, Director, Genre
Datenmodelle definieren
Models im Admin registrieren
Custom Admin-Ansichten
API-Endpoints erstellen
URL-Routing konfigurieren
Django REST Framework
Serializers & ViewSets
docs.djangoproject.comDjango Docs:
Die beste Quelle für Django-Wissen!
Django Girls Tutorial:
Anfängerfreundlich & kostenlos
Real Python:
Fortgeschrittene Tutorials
Django for Beginners:
Buch von William S. Vincent
Django Forum:
forum.djangoproject.com
Stack Overflow:
Tag: [django]
Reddit:
r/django
Django Packages:
djangopackages.org
Django REST Framework:
www.django-rest-framework.org
Django Debug Toolbar:
Entwickler-Tool für Debugging
Du hast erfolgreich dein erstes Django-Projekt erstellt!
Du bist bereit, richtige Web-Anwendungen zu entwickeln!
# 1. Terminal öffnen
# 2. Zum Projekt navigieren
cd C:\Django\FirstMovieAPI
# 3. Virtuelle Umgebung aktivieren
venv\Scripts\activate
# 4. Server starten
python manage.py runserver
# 5. Im Browser öffnen
# http://127.0.0.1:8000/
"The only way to learn a new programming language is by writing programs in it."
— Dennis Ritchie
Im nächsten Modul erstellen wir unsere ersten Models!